package Day_0210.DesignPattern;

/**
 * @author zxc
 * @date 2023/02/11 11:55
 **/
public class Abstract_Factory_Pattern {
    public static void main(String[] args) {
        /**
         * 谈一谈对于抽象工厂模式的理解
         * ===》
         * 1.抽象工厂模式，是在简单工厂的基础上，将未来可能需要修改的代码抽象出来，通过继承的方式，让子类去做决定。
         *
         * 2.案例 ：
         * 比如，以上面的咖啡工厂为例，某天我的口味突然变了，不想喝咖啡了想喝啤酒，
         * 这个时候如果直接修改简单工厂里面的代码，这种做法不但不够优雅，也不符合软件设计的“开闭原则”，因为每次新增品类都要修改原来的代码。
         *
         * 3.使用抽象工厂类
         * ===》
         * （1）抽象工厂里只声明方法;
         * （2）具体的实现交给子类（子工厂）去实现;
         *
         */
    }
}
